home *** CD-ROM | disk | FTP | other *** search
- *******************************************************************************
-
- HISTORY des Disassemblers D68k von Denis Ahrens
-
- *******************************************************************************
-
- V2.0.8 26-Nov-95
-
- - Kleines Kommaproblem bei den neuen Adressierungsarten entfernt.
- (zza@irc)
-
- - Enforcerhits entfernt wenn keine Optionen angegeben wurden.
- (zza@irc)
-
- - Der Hunk $03F8 wird jetzt auch (wieder) erkannt! (vbc@irc)
-
- +++++++++++++++++++
-
- V2.0.7 2-Nov-95
-
- - Bei dem Befehl RTD wurde ein RETURN innerhalb des Befehls gesetzt
- und nicht danach. (Thomas Bliesener)
-
- +++++++++++++++++++
-
- V2.0.6 17-Okt-95
-
- - Die Zeiger zu einer Funktionstabelle einer Library können jetzt
- auch über mehrere Hunks verfolgt werden, z.B. xpkSHRI.lib (puh!).
-
- - Die BruteForceLabelSearch-Routine wurde gegen eine BinarySearch-
- Routine von Arno Eigenwillig (Danke!) ausgetauscht.
-
- - Bei der Abarbeitung der Inittable einer Library wurde ein
- zusätzlicher Sicherheitscheck eingebaut.
-
- - Fehler DATA_HUNKS mit BSS-Anteil behoben.
-
- - Es wird bei RELOCxxSHORT nicht mehr abgebrochen. Unterstützt werden
- sie aber noch nicht (Shapeshifter, BDebug, Basm und PhxAss).
-
- - Die TRACE-Methode kann sich jetzt auch durch DATA-Hunks durch-
- arbeiten. Praktisch wenn CODE Segmente in DATA-Hunks gespeichert
- sind.
-
- - Bei den Jumptables war ein Befehl ausgeklammert, so dass immer ein
- Jumptableeintrag zuviel abgearbeitet wurde was Fehlsprünge ver-
- ursachte (Es sollte in Zukunft zwischen einem BLT und BLS unter-
- schieden werden).
-
- +++++++++++++++++++
-
- V2.0.2 21-Aug-95
-
- - Die 68060 Befehle PLPAR und PLPAW werden jetzt auch unterstuetzt.
-
- - Der FMOVEM Befehl mit FPcr (CR/SR/IAR) war fehlerhaft
- (Frank Wille).
-
- - Anstatt CODE erscheint jetzt z.B. SECTION "NAME",CODE,CHIP
-
- - Bei dem FMOVE.P Befehl wurde der statische k-faktor immer mit
- NULL angezeigt. (Frank Wille)
-
- - Der MOVEC Befehl unterstützt jetzt auch die 68060 BUSCR
- und PCR Register.
-
- +++++++++++++++++++
-
- V2.0.0 18-Jun-95
-
- - Alles was nicht mit einer Shell zutun hat wurde ausgebaut.
- Es ist nicht mehr von der Workbench startbar und es erscheint
- bei weglassen des Filenamens auch kein FileRequester mehr.
-
- - Neben dem Bootblock wird jetzt auch ein Kickstartfile
- (512KB) disassembliert! Ein JumpListFile.kick39 liegt bei!
-
- - Um die Kickfiles zu erzeugen liegt das Programm GetKick
- v1.2 bei.
-
- - Die JumpTableRoutine wurde mal wieder an allen Ecken und
- Enden verbessert um alle möglichen Variationen abzudecken.
-
- +++++++++++++++++++
-
- V1.98 20-Okt-94
-
- - Bei dem speichern der 'JumpList.xxx' Files wird das Executable-
- flag nicht mehr gesetzt.
-
- - Ein kleiner Fehler mit großen Auswirkungen in der JumpTable-
- Routine wurde behoben. (Martin Berndt)
-
- - Texte werden jetzt nur noch als solche angezeigt. Die alten
- HexDaten kann man per Option HEXDATA wieder aktivieren.
-
- +++++++++++++++++++
-
- V1.97 18-Aug-94
-
- - Die JumpTableRoutine ist nochmal verbessert worden. Jetzt
- werden die Tabellen VOR dem Jumpbefehl auch angezeigt.
-
- - Man muß D68k jetzt nicht mehr aus der Directory starten in
- der auch die JumpTabledirectory ist um diese benutzen zu
- können.
-
- +++++++++++++++++++
-
- V1.96 24-Jun-94
-
- - Die Größe eines Hunks wird jetzt (wenn vorhanden) aus dem
- HunkHeader genommen.
-
- - Die PowerLED wird nicht mehr benutzt !!!
-
- - Die JumpTableRoutine ist jetzt noch penibler, damit auch wirklich
- nur echte Jumptabellen erkannt werden.
-
- +++++++++++++++++++
-
- V1.95 13-Feb-94
-
- - Schwerer Fehler in der Ausgabe Behoben !!! (Wenn die Option NOPC/S
- eingesetzt wurde, kamen in JEDER Zeile SIEBEN Null-Zeichen!)
-
- +++++++++++++++++++
-
- V1.94 9-Okt-93
-
- - Fehler bei den ASL-Tags behoben.
-
- - Bei der "INFO"-Ausgabe werden nun auch die Anzahl der Relocs und der
- Symbole ausgeben.
-
- +++++++++++++++++++
-
- V1.93 4-Okt-93
-
- - Die JumpTable-Erkennungsroutine erkennt nun auch JumpTables die
- VOR dem eigentlichem JMP Befehl stehen.
- - Bei Ausgabe in ein File wird mit SetVBuf() ein 64KB großer Buffer
- angefordert. Leider arbeitet diese Funktion erst ab V39 korrekt.
- - Es wird jetzt nach einem CTRL-C nicht mehr der PrintFault() Fehler
- ausgegeben.
- - Falsche RESULT-Abarbeitung des ASL-Requesters behoben. Ein
- Programm das die Abfrage an den ReqTools-Requester umleitet, müßte
- nun ohne Probleme arbeiten. Außerdem werden nun ".info" Files per
- ASL-Tag aussortiert und nicht mehr per ASL-Pattern (dadurch werden
- jetzt auch ".backdrop" Files weggelassen).
- - Befehle die einen MC68020 oder höher benötigen, werden NUR NOCH
- disassembliert wenn die Option/ToolType "68020" angegeben wird.
- ! - D68k kann nun auch von der Workbench gestartet werden. ALLE Optionen
- können per ToolType angegeben werden.
- - D68k kann jetzt auch den BSS-Anhang von DATA_HUNKS verarbeiten.
- (Erkennbar an den unterschiedlichen Größen EINES Hunks)
- - Librarys werden unterstützt, das heisst das die Funktionstabellen
- in der JumpListTabelle eingetragen werden. Der TRACE-Modus wird
- automatisch eingeschaltet.
- - Bei BFINS, BFCLR, BFCHG und BFSET sind die beiden PC-relativen
- Adressierungsarten jetzt nicht mehr gesetzt.
- - Es wurde in PASS1 nicht zwischen den beiden versch. BitField Befehlen
- unterschieden. (Einmal die vier mit ..,dx und einmal die vier ohne)
- - In PASS1 wurde der FMOVE(M) mit der falschen Size (X anstelle von L)
- abgearbeitet. Ausserdem wurden die Adressierungsarten für den
- Befehl in beiden PASSES falsch gesetzt.
- - Kleinen Fehler im JumpList-Parser behoben. Man kann jetzt einzelne
- Einträge mit einem Semikolon 'ausklammern'.
- - Die externen JumpList-Files werden nicht mehr von SYS:Prefs/..,
- eingeladen sondern eine Directory mit dem Namen D68k_JumpLists muss
- sich im gleichen Verzeichnis befinden wie D68k.
- - Größerer Bug in der Jumptable-Routine behoben !!!
-
- +++++++++++++++++++
-
- V1.91 23-Aug-93
-
- - Die Ausgaberoutine ist nun gepuffert (FWrite()).
- - Die FLine Befehle werden nun wieder nach Labels abgesucht.
- (Ich habe vergessen dies nach dem debuggen wieder einzuschalten).
-
- +++++++++++++++++++
-
- V1.90 2-Aug-93
-
- - Die Länge von LIB-Hunks wird jetzt korrekt ausgegeben.
-
- +++++++++++++++++++
-
- V1.89 19-Apr-93
-
- - Enforcer-Hits bei Aufruf des ASL-Requesters behoben.
- - Enforcer-Hit beim Schreiben des Reloc-Identifiers "_" behoben.
- - FBcc und PBcc als Springer deklariert, damit sie mit der Trace-
- Methode funktionieren.
-
- +++++++++++++++++++
-
- V1.88 06-Mar-93
-
- - Labeladressen an denen schon Symbole von einem Symbol-Hunk sind,
- wurden trotzdem ausgegeben. Jetzt wird wieder der Symbolname als
- Label ausgegeben.
- - Guru3 bei SymbolNamensuche behoben.
- - Symbolnamen wurden nur 16 Zeichen lang ausgegeben, das ist jetzt
- behoben.
- - Bei dem CAS.x Befehl wurden die beiden PC-Relativen mit den beiden
- Absoluten Adressierungsarten vertauscht (die falschen Zwei wurden
- akzeptiert und die richtigen nicht).
-
- +++++++++++++++++++
-
- V1.87 22-Feb-93
-
- - Der ILLEGAL-Befehl wird ab jetzt auch als Endpunkt bei der Trace-
- Methode angesehen (Weil der PC hier nicht vorbeikommt).
- - Datumformat wegen inkompatibilität zum Versionsbefehl geändert.
- - Im Hex-Bereich wird zwischen einem Reloc32-Langwort ein Unterstrich
- gesetzt (Nur im CODE-HUNK).
-
- +++++++++++++++++++
-
- V1.86 17-Feb-93
-
- - Wenn ein Bootblock erkannt wurde, werden jetzt die ersten drei
- Langwörter ausgegeben. (Kennung, Checksumme und Rootblock)
- - Die Berücksichtigung des Externhunks wurde um Extern_Dext08 und
- Extern_Dext32 erweitert.
- - Die Hunks Hunk_DRel08 und Hunk_DRel32 werden jetzt auch erkannt.
- (Wird aber sonst noch nicht berücksichtigt, weil mir der Zweck nicht
- bekannt ist)
- - Bei der Ausgabe WURDE der Name des Files durch die doppelte Belegung
- eines FileInfoBlocks falsch ausgegeben.
-
- +++++++++++++++++++
-
- V1.84 11-Feb-93
-
- !!! - D68k hat jetzt eine neue Methode um Programme zu disassemblieren.
- Man muß sie mit der Option TRACE einschalten.
- ! - Falls die TRACE-Methode gewählt wurde, erkennt D68k C-spezifische
- Jumptabellen die so angezeigt werden, das ein Assembler die
- korrekten Adressen errechnen kann.
- - Die Skalierung bei PC-Relativen Adressierungsarten wurde hinzu-
- gefügt. {z.B.: L000001(PC,D0.L*2) }.
- - Es wurden mehrere Fehler bei den neuen Adressierungsarten beseitigt.
- - Der Asl-Requester wird mit etwas mehr Sicherheit abgearbeitet.
- !! - D68k erkennt jetzt auch ABGESPEICHERTE Bootblöcke (File-Format).
- - Wenn die Hunkgröße die Filegröße überschreitet wird eine Fehler-
- meldung ausgegeben (z.B. bei gesplitteten Files).
- - Die Anzeige der Extern-Listen bei der Hunklab-Option werden jetzt
- bündiger ausgegeben, so das sie in einer Reihe stehen.
- - Bei Reloc08 und Reloc16 Hunks wurde anstatt ein Byte bzw. ein Wort
- IMMER ein Langwort eingelesen um das Label zu erzeugen, wodurch
- eine illegale Adresse entstand, die an den Sicherheitstests nicht
- vorbeigekommen ist. Das ist jetzt behoben.
- - Labelerzeugung durch Reloceinträge in Data-Hunks war fehlerhaft.
- - Bei Bcc-Sprungbefehlen wird jetzt auch auf Reloceintrag überprüft. Das
- heisst Bcc Befehle können jetzt auch auf andere Hunks zeigen! (A68k).
- Beim Linken muß dann SmallCode angegeben werden.
- - Falls das einzuladende File eine Länge von Null Bytes hatte, wurde
- zwar abgebrochen (Speicherfehler!), aber das File wurde nicht ge-
- schlossen. Jetzt wird es geschlossen und eine 'kann File nicht
- öffnen' Fehlermeldung ausgegeben.
-
- +++++++++++++++++++
-
- V1.55 23-Jan-93
-
- - Fehler bei der UNIT- und NAME-HUNK Ausgabe der Version 1.54 behoben.
-
- +++++++++++++++++++
-
- V1.54 18-Jan-93
-
- - Bei CMPI.x fehlten die PC-relativen AdressierungsArten.
- - Label-, Symbol- und Reloc32 Suchroutinen überarbeitet und beschleunigt.
- - Bei ADDI.x und SUBI.x werden die Zahlen nur noch positiv angezeigt.
- - Die Optionen NextLabel und OriLogicOff sind hinzugekommen.
- - Falls Labels zwischen Befehlen existieren, werden sie (an geraden
- Adressen) angezeigt. Das sieht so aus: 000000 4BF9~0000 0000
- Das ist ein LEA Befehl, wo sich mittendrin ein Label an Adresse 000002
- befindet. Dies wird durch ein '~' angezeigt.
-
- +++++++++++++++++++
-
- V1.53 06-Jan-93
-
- - Es werden auch Labels in Hunks angezeigt, deren Länge NULL beträgt.
- (Ein einziges Label an Adresse Null (gesehen in small.lib))
- - Ausgabefehler bei PMOVE-Befehlen beseitigt.
- - Bessere Aussortierung von illegalen BitField-Befehlen.
- - Kleine Ungereimtheiten bei BitField-Befehlen deren Adressierungs-Arten
- nicht zulässig waren sind beseitigt.
- - Bei FRESTORE fehlten zwei Adressierungsarten. (Die beiden PC-relativen)
- - Fehler in PASS1 bei FSAVE, PSAVE, FRESTORE und PRESTORE behoben
- - In PASS1 werden jetzt die Standard-Libraries erkannt und übersprungen.
- Dadurch fallen die Labels weg, die erzeugt worden wären. In PASS2
- werden anstatt der Befehle die Library-Namen ausgegeben.
-
- +++++++++++++++++++
-
- V1.52 29-Dez-92
-
- - Anstatt DRELOC16 wurde DRELOC32 ausgegeben. Das ist behoben.
- - Extern_Dext16 wird erkannt und ev. eingesetzt.
- - Es werden jetzt mehr Extern_korrekturen unterstützt.
- - Die Hunk-Sorten HUNK-LIB und HUNK-INDEX werden erkannt.
- - Bei PC-Relativen Sprüngen (Bcc ,JSR $0000(PC) ,DBcc, FDBcc ,PDBcc
- FBcc oder PBcc) mit einem Sprung-Displacement von NULL wird
- kein Label mehr erzeugt.
- - Der LPSTOP Befehl (MC68060!) wurde vier Bytes zu kurz angegeben (PASS 1).
- - FLine-Befehls Erkennung (PASS 1) hat NICHTS erkannt. Das ist behoben.
- - Anstatt FACOS wurde FCOSH ausgegeben. Das ist behoben.
- - Kleine Unstimmigkeit bei SUBX (PASS 1) ist beseitigt.
- - Bei einem Labelüberlauf (>32768 Labels) wird abgebrochen.
- ! - Wenn die File Option NICHT angegeben wird, öffnet sich ein
- ASL-FileRequester.
- - Bei den BitField Befehlen wurde das Datenregister falsch angezeigt.
- - Der 'SINGLE' (.S) Wert auf der Mnemonic-Seite wurde falsch angegeben.
- - Reloc_Labels und Extern_Equates werden jetzt in Code- und Data-Hunks
- angezeigt.
-
- +++++++++++++++++++
-
- V1.51 01-Dez-92
-
- - Absturz bei File-Ausgabe OHNE INFO-Option beseitigt.
- - Hunk-Fehlermeldungen bei FileAusgabe werden ab jetzt nur auf
- dem CLI-Fenster ausgegeben.
-
- +++++++++++++++++++
-
- V1.50 23-Nov-92
-
- - Bei Unit- und Name-Hunks wird der Name auch angezeigt
- - Mit HUNKLAB werden jetzt auch Daten (Offsets) vom Extern-Hunk
- aufgelistet (nur die des Typs < $80)
- - Die Symbol-Adressen werden nicht nur aufgelistet, sondern auch
- als Label angezeigt.
- - Die Anzahl der Extern-Hunk Einträge wird jetzt korrekt angezeigt.
- - Wenn externe referenzen vorhanden sind, werden diese im Code-Hunk
- angezeigt (z.B. MOVEA.L _AbsExecBase,A6 ).
- - Man kann jetzt die 'rts-logic' mit RLO/S abschalten (siehe oben)
- - Die Ausgabe der CODE-, DATA-, und BSS-Hunks kann nun mit den
- Optionen NOCODE, NODATA und NOBSS unterdrückt werden
- - Enforcer-Hits durch das eventuelle Auslesen der Adresse $0 kommen
- nicht mehr vor (ist aber ungetestet, hab keine MMU, bloß 'nen MC68010)
- !! - MEINE SELECTIONSORT-Routine zum Sortieren der Labels wurde durch eine
- QUICKSORT ersetzt. Vorher 35 sek., jetzt vier Sekunden für LhA.
- - Das letzte Label eines Hunks, wurde immer als erstes Label im nächsten
- Hunk angezeigt. Dies ist behoben.
- - Bei dem, mit der TO/S Option, erzeugtem File ist jetzt das ExecutableBit
- nicht mehr gesetzt.
- !! - D68k erkennt jetzt ALLE CPU Befehle (bis einschließlich 68040)
- (Ausnahme: Die cpXXX Befehle des 68020; sind aber identisch mit den
- gleichnamigen F-Line Befehlen)
- !! - Es sind ALLE 68881/82 Befehle integriert. Auch die Double- und
- Single Precision des MC68040.
- !! - Es werden ALLE 68851 PMMU Befehle erkannt.
- !! - Die Adressierungsarten des 68020... sind vollständig integriert.
- (Ich hab sie alle von Hand entschlüsselt, mit dem Newmodes File
- von Carnivore/Beermacht; wenn was fehlt melden)
- - Fehler beim Umsetzen der PC-relativen Adresse bei dem Befehl
- BTST #Imm behoben (Fehler im AdressParser, SAS ASM 5.10b hat auch
- Probleme)
- - Fehler bei MOVE TO SR und MOVE TO CCR wurde behoben. Anstatt WORD
- wurde ev. BYTE oder LONG angegeben (vom letzten Befehl).
- - Es werden jetzt auch Reloc16, Reloc08 und DReloc16 erkannt und
- zwingen D68k NICHT mehr zum Abbrechen.
- (Werden aber noch nicht so unterstützt wie Reloc32)
- - Die Anzeigenlänge der Hunks ist von vier Bytes auf zehn gestiegen.
- Aus EXT. wird EXTERN, aus RE32 wird RELOC32 usw.
- - Wenn ein CODE, DATA oder BSS Hunk ins CHIP-Ram geladen wird,
- wird das auch angezeigt.(DATA CHIP, CODE CHIP oder BBS CHIP)
- Für FAST-Ram gilt das gleiche.
- - AusgabeFile wird nur erzeugt wenn vorher alles geklappt hat.
-
- +++++++++++++++++++
-
- V1.07 29-Sep-92
-
- !!! - BÖSER FEHLER beim Schreiben der Mnemonics in ein File behoben
- - Die Routine zum ermitteln der Labelnr. ist nun wesentlich schneller
- (kürzerer Code (68010.. optimiert.))
- - Anzeige der FehlerQuelle mittels IoErr() und PrintFault()
- - Die Option INFO/S zeigt die Status-Informationen an, wenn sie
- bereit stehen (Länge des Files, HunkAnzahl, LabelAnzahl...)
- - Die 68881/82 Befehl FBcc, FDBcc und FScc werden erkannt
- - einige Optimierungen bei der DATA-ausgabe.
- - Option HUNKLAB/S dazugekommen (ist aber nocht nicht ganz fertig
- zeigt bisher nur SymbolNamen)
- - bessere Ausgabe von fehlsprüngen z.B. JMP $00(PC,d0.l)
-
- +++++++++++++++++++
-
- V1.04 20-Aug-92
-
- - Effektive AdressierungsArt PCIndex mit Displacement wurde
- vergessen. (Label wurde nicht angezeigt)
- - Fehler bei PCIndirekt mit neg. Richtung in den Adressierungsarten-
- Routinen behoben
- - Bei dem Befehl BTST hatte Ich die AdressierungsArt #Konstante
- vergessen
- - Bei dem Befehl CHK wurde die #Konstante nur in Byte-größe angezeigt.
- Es muß aber min. Wort-größe sein(Beim 68000/10).
- - Ein GROSSER Fehler beim Überprüfen der möglichen AdressierungsArten
- ist behoben. (JMP D0 ist nicht mehr möglich)
- - Es sind AUßER den cpXXX ALLE 68020 Befehle dazugekommen
- (Die neuen AdressierungsArten gibts auch noch nicht, mir fehlt das Buch)
- - Die Option NOPC/S schaltet die ganzen Hex-Zahlen am Anfang der Zeile ab
- - Unter DOS 1.3 läuft D68k nicht mehr (wegen ReadArgs, FreeArgs und
- WriteChars.
- - xxx.B (z.B. MOVE.B D0,A0) in ein AdressRegister gibt es jetzt nicht mehr
- - Die Option TO/K zum umlenken der Ausgabe in ein File
- - Die Ausgabe wurde etwas verbessert. Es werden jetzt nicht mehr
- soviele Zeichen einzeln ausgeben, ist aber kaum schneller da sowieso
- alles durch die _LVOWriteChars(a6) Routine gepuffert wird.
- - Fehler bei der Ausgabe der letzten Zeile bei BBS und DATA Hunks beseitigt
- - Labelsortier-Routine beschleunigt (2 mal, z.B. LHA von 37 auf 27 sek.)
- - LED flackern bei vielen CODE-Hunks (z.B. amiga.lib) behoben
-
- +++++++++++++++++++
-
- V1.00 06-Aug-92
-
- - Fehler bei MOVEP.W, es wurde immer MOVEP.WL angezeigt
-
- V0.99 29-Jul-92
-
- - Die BSS-Ausgabe ist nun brauchbar (V0.98)
- - Die Befehle ROXL.? und ROXR.? wurden falsch geschrieben
- (ROLX.? und RORX.?)
- - Die Reloc32-Zeile hat nun ein Semikolon
- - Die Hunk-Namen sind jetzt zum Re-Assemblieren mit A68k an die
- richtige Stelle gerückt
-
- V0.97 29-Jul-92
-
- - Die Data-Ausgabe ist nun brauchbar (hoffe Ich)
-
- V0.96 29-Jun-92
-
- - Sortierroutine der Labels wurde insg. um den Faktor 2-3 beschl.
-
- V0.5xx Mai-Juni 92
-
- - Labels sind dazugekommen (puh war das 'ne Arbeit)
-
- V0.421 Mitte 91 (Größe ca. 10kb)
-
- - VersionsNummer des Grundprogramms (ohne Labels)
-
- *******************************************************************************
-